package de.herzog.bbp.controller;

import java.util.List;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import de.herzog.bbp.model.Klasse;
import de.herzog.bbp.model.Spiel;
import de.herzog.bbp.model.dao.AbstractDAO;
import de.herzog.bbp.model.dao.SpielDAO;

public abstract class SpieleRenumber {

	private static Logger LOG = LoggerFactory.getLogger(SpieleRenumber.class);

	public static void renumber() {
		LOG.info("Starting renumbering..");
		List<Spiel> list = SpielDAO.loadAllOrdered("klasse", "datum", "zeit", "heimMannschaft");
		int nummer = 1;
		Klasse lastKlasse = null;
		for (Spiel spiel : list) {
			if (!spiel.getKlasse().equals(lastKlasse)) {
				nummer = 1;
			}
			renumber(spiel, nummer);
			nummer++;
			lastKlasse = spiel.getKlasse();
		}
		LOG.info("End renumbering.");
	}

	protected static void renumber(Spiel spiel, int nummer) {
		spiel.setNummer(nummer);
		AbstractDAO.persist(spiel);
	}
}
